Skip to content

Skip empty replaceChildren visual work - #560

Merged
wieslawsoltes merged 1 commit into
mainfrom
perf/empty-replacechildren-noop-243
Sep 19, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
perf/empty-replacechildren-noop-243

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Closes #559. Advances #243 and #235.

Zero-argument replaceChildren() now returns after WebIDL/receiver processing when the target already has no native children or text. This avoids redundant detach/recascade/layout/scene work in unchanged Code OSS panel/row clears while preserving every real removal, reinsert, focus, mutation, custom-element lifecycle, selector and publication path.

Validation intentionally deferred: git diff --check passed; 8,192 redundant clears and 512-row real churn/lifecycle/identity/low-memory regressions were authored but not executed. Pinned Code OSS A/B, browser/package, pixel, physical performance and memory gates remain in #243.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Skip empty replaceChildren visual-tree work

1 participant